<?php

class restService {

	private static $restService;

	protected function restService() {
		// Singleton
	}

	public function instantiate() {

            if($restService == null){
                    $restService = new restService();
            }

            return $restService;

	}

	private function executeCall($url, $type = 'json') {

            # Setup a curl connection
            $ch = curl_init();

            # Some settings
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
            curl_setopt($ch, CURLOPT_HEADER, 0);

            curl_setopt($ch, CURLOPT_URL, $url);
            $response = curl_exec($ch);

            # Close curl connection
            curl_close($ch);

            switch($type) {

                    case 'xml':
                            // Converteren vanuit XML
                            $result = new SimpleXMLElement($xml);
                            break;
                    case 'json':
                    default:
                            // Converteren vanuit JSON
                            $result = json_decode($response);
                            break;
            }

            return $result;

	}

	public function zoekRoute($plaatsVan, $plaatsNaar, $datum) {

            $url = "localhost/test.esb.nl/index.php?actie=zoekRoute&van=".$plaatsVan."&naar=".$plaatsNaar."&datum=".$datum;
            
            $result =  $this->executeCall($url);

            return $result;
            
	}
        
        public function getCoordinaten($plaatsVan, $plaatsNaar) {
            
            $url = "localhost/test.esb.nl/index.php?actie=getCoordinaten&van=".$plaatsVan."&naar=".$plaatsNaar;
            
            return $this->executeCall($url);

        }

}


?>
